{#if data.user.uid === $me?.uid} Paramètres {:else} Éditer {data.user.fullName} {/if}

{ await goto(`/users/${data.user.uid}`); }} contributionOptions={data.contributionOptions} majors={data.schoolGroups.flatMap((g) => g.majors)} bind:data />
{#if $me?.admin}

LDAP

{#if ldapSyncResult !== undefined} {#if ldapSyncResult}Utilisateur synchronisé{:else}Erreur lors de la synchronisation{/if} {/if} { ({ syncUserLdap: ldapSyncResult } = await $zeus.mutate({ syncUserLdap: [{ uid: data.user.uid }, true], })); }}>Synchroniser {/if} {#if data.userPermissions}

Permissions

{/if} {#if $me?.uid === data.user.uid}

Apparence

{ if (browser) window.localStorage.setItem('user_does_not_like_noel_theme', ''); }} /> {/if}

Parrainages

u.uid)} user={data.user.godparent} bind:uid={godparentUid} />
{#if godparentRequestSendServerError} {godparentRequestSendServerError} {/if} {#if godparentDeleteServerError} {godparentDeleteServerError} {/if}
Envoyer une demande Rompre le parrainage
{#if data.user.outgoingGodparentRequests.length > 0}

Demandes en cours

    {#each data.user.outgoingGodparentRequests as { createdAt, godparent, id }}
  • {formatDate(createdAt)}

    Annuler
  • {/each}
{/if}

Fillot·e·s

{#if [...data.user.incomingGodparentRequests, ...data.user.godchildren].length > 0}
    {#each data.user.incomingGodparentRequests as { godchild, id }}
  • Oui Non
  • {/each} {#each data.user.godchildren as godchild}
  • deleteGodchild(godchild.uid)}>Supprimer
  • {/each}
{:else}

Demandez à votre fillot·e de vous demander en tant que parrain/marraine

{/if} {#if data.user.uid === $me?.uid}

Notifications

Données personnelles

Télécharger mes données.

Si vous souhaitez supprimer votre compte, merci de nous contacter via {env.PUBLIC_SUPPORT_EMAIL}.

{/if}
{#if $me?.uid === data.user.uid}

Sessions { await Promise.all( data.me.credentials .filter(({ type, active }) => type === CredentialType.Token && !active) .map(async ({ id }) => deleteToken(id, false)), ); const activeSession = data.me.credentials.find( ({ type, active }) => type === CredentialType.Token && active, ); if (activeSession) await deleteToken(activeSession.id, true); }}>Tout déconnecter

    {#each data.me.credentials.filter(({ type }) => type === CredentialType.Token) as { createdAt, name, userAgent, active, id }}
  • {#if active} {/if}

    Ouverte le {formatDateTime(createdAt)}

    {#if editingSession?.id === id} {:else} {name.length > 0 ? name : humanizeUserAgent(userAgent)} {/if} {#if active} Session actuelle {/if}

    {#if editingSession?.id === id} renameSession(id, name)}> { name = editingSession?.oldName ?? ''; editingSession = undefined; }} > {:else} { editingSession = { id, oldName: name }; }} > {/if} deleteToken(id, active)}> Déconnecter
  • {/each}
{/if}